/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.wpi.first.wpilibj.templates;

/**
 *
 * @author Driver
 */
public class Constants 
{
    public static int CRIO_ANALOG = 1;
    public static int CRIO_DIGITAL = 2;
    public static int CRIO_SOLENOID = 3;
    
    // Analog Positions
    
    // Digital Positions
    
    // Solenoid Positions
    
    // Where do these go ??
    public static int SHOOTERMTR_SLOT = 9;
    public static int CONVEYORMTR_SLOT = 8;
    public static int TRAP_DOOR = 9;    
    static final  int SWEEPERMTR_SLOT = 7;
    
    //////////////////////////////////////////
    // Joystick
    public static int DRIVER_JOY = 1;
    public static int SHOOTER_JOY = 2;
    
    // Buttons on Driver Joystick
    public static int STRAIGHT_POSITION_BTN = 6;
    public static int TWIST_POSITION_BTN = 1;
    public static int SWEEPER_BUTTON = 3;
    
    // Buttons on Shooter Joystick
    public static int SHOOTER_BUTTON = 1;
    public static int SHOOTER_SPEED_BUTTON = 7;
    
    public static double HIGH_FULL_SPEED = 1;
    public static double HIGH_SLOW_SPEED = 0.5;
    public static double LOW_FULL_SPEED = 1;
    public static double LOW_SLOW_SPEED = 0.5;
    
    ///////////////////////////////////////////////
    // Drive Train -- heavily subject to change
    // Steering
    public static int LR_RF_STEERMTR_SLOT = 8;
    public static int LF_RR_STEERMTR_SLOT = 7;
    
    public static int LR_RF_STEER_ENC = 2;  
    public static int LF_RR_STEER_ENC = 1; 
    
    // Drive
    public static int RR_DRIVE_SLOT = 1;
    public static int RF_DRIVE_SLOT = 2;
    public static int LR_DRIVE_SLOT = 3;
    public static int LF_DRIVE_SLOT = 4;
    
    // Steer mode  PID constants
    public static double STRAIGHT_POSITION = 0.8;   //Encoder Value when wheels are straight
                                                    //value varies with time
    public static double P_STEER_CONST = 1.5; //10. Increase so that wheel turns faster.
    public static double I_STEER_CONST = 0;//0.001;
    public static double D_STEER_CONST = 0;

    // Twist mode PID constants
    public static double P_TWIST_CONST = 1.5;
    public static double I_TWIST_CONST = 0.05;
    public static double D_TWIST_CONST = 0;
    
    // Misc Numerical
    public static double PI = 3.14159265358979323846;
    public static double DISTANCE_PER_PULSE = 13.5/1440; //confirm
    public static double MAX_RATE = 2000; //wag
    public static double TWIST_VALUE = 55.835/360.0;
}
